import { http } from "@/utils/http";

type Result = {
  success: boolean;
  message?: string;
  data?: Array<Client>;
};

// type ResultTable = {
//   success: boolean;
//   data?: {
//     /** 列表数据 */
//     list: Array<Client>;
//     /** 总条目数 */
//     total?: number;
//     /** 每页显示条目个数 */
//     page_size?: number;
//     /** 当前页数 */
//     current_page?: number;
//   };
// };

type Client = {
  /** 客户端地址 */
  clientAddr: string;
  /** 目标地址 */
  targetAddr: string;
  /** 客户端连接时间 */
  connectTime: Date;
  /** 发送的字节数 */
  bytesSent: number;
  /** 接收的字节数 */
  bytesReceived: number;
  /** 客户端状态 */
  status: string;
};

/** 获取当前客户端列表 */
export const getClientList = (data?: object) => {
  return http.request<Result>("get", "/api/v1/clients", { data });
};

/** 强制下线客户端 */
export const clientOffline = (data?: object) => {
  return http.request<Result>("post", "/api/v1/clients/offline/" + data);
};
